#ifndef MYCONST_HPP_INCLUDED
#define MYCONST_HPP_INCLUDED
// 常数
GLfloat PI = 3.1415926;
GLfloat UNIT = 1.0;

GLint winPositionx = 500, winPositiony = 200;
GLint winWidth = 600, winHeight = 600; //屏幕大小
GLfloat background_r = 0.0 / 255.0, background_g = 0.0 / 255.0, background_b = 0.0 / 255.0, background_a = 0.0; //背景颜色

// 模型设置
GLfloat r_vmod = 1.0, g_vmod = 0.0, b_vmod = 0.0, Psize_vmod = 1.0; //描点模式颜色大小
GLfloat Pr_lmod = 1.0, Pg_lmod = 1.0, Pb_lmod = 0.0, Psize_lmod = 2.0;
GLfloat r_lmod = 69.0 / 255.0, g_lmod = 125.0 / 255.0, b_lmod = 254.0 / 255.0, Lwidth_lmod = 1.0; //画线模式设置
GLfloat color_pmod[3] = {1.0, 1.0, 1.0}; //图像模式

// 观察相关
GLfloat x0 = 0.0 * UNIT, y0 = -2.0 * UNIT, z0 = 0.0 * UNIT; //相机位置
GLfloat xref = 0.0, yref = 0.0, zref = 0.0; //视线位置
GLfloat vx = 0.0, vy = 0.0, vz = 1.0; //屏幕y轴方向
GLdouble or_left = -1.5, or_right = 1.5, or_bottom = -1.5, or_top = 1.5, or_near = -10.0, or_far = 10.0;
GLdouble per_fovy = 45, per_aspect = 1.0, per_zNear = 0.01 * UNIT, per_zFar = 8.0 * UNIT; //投影参数设置
GLint display_mod = 1; //显示模式：0描点，1画线，2贴图

// 变换相关
GLfloat rotate_angle_step = 5.0, rotate_theta[3] = {0.0, 0.0, 0.0}, rotate[4][4] = {{}, {}, {}}; //单位旋转矩阵
GLfloat scale = 1.0, scale_step = 0.1;//缩放比例
GLfloat t_step = 0.05 * UNIT;
GLfloat translate_step[3][3] = {{t_step, 0.0, 0.0}, {0.0, t_step, 0.0}, {0.0, 0.0, t_step}}; //平移步进

//灯光
GLfloat light_pos[4] = {0.0, -1.0, 1.0, 0.0};//灯光位置
GLfloat light_ambient[4] = {1.0, 1.0, 1.0, 0.0};
GLfloat light_diffuse[4] = {0.5, 0.5, 0.5, 0.0};
GLfloat light_specular[4] = {1.0, 1.0, 1.0, 0.0};
//GLfloat light_emission[4]={0.0};
//GLfloat light_shininess=;
#endif // MYCONST_HPP_INCLUDED
